﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace e_yayincilik_webproject
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
    [ServiceContract]
    public interface IService1
    {


        
//////////////////////////////////////////////////////////////////////////////////////////////////
//Makale
        [OperationContract]
        List<DBclass.MakaleDBTO> OnaylananMakaleListele();

        [OperationContract]
        DBclass.MakaleDBTO MakaleBul(string makaleId);

        [OperationContract]
        void MakaleEkle(DBclass.MakaleDBTO obj,DBclass.MakalePathDurumuDBTO obj2);

        [OperationContract]
        void MakaleGuncelle(DBclass.MakaleDBTO obj, DBclass.MakalePathDurumuDBTO obj2);

        [OperationContract]
        void MakaleSil(string MakaleId);


//////////////////////////////////////////////////////////////////////////////////////////////////
//Dergi

        [OperationContract]
        List<DBclass.DergiDBTO> DergiListele();

        [OperationContract]
        DBclass.DergiDBTO DergiBul(string dergiId);

        [OperationContract]
        void DergiEkle(DBclass.DergiDBTO obj);

        [OperationContract]
        void DergiGuncelle(DBclass.DergiDBTO obj);

        [OperationContract]
        void DergiSil(string dergiId);

//////////////////////////////////////////////////////////////////////////////////////////////////
//Kategori 

        [OperationContract]
        List<DBclass.KategoriDBTO> KategoriListele();

        [OperationContract]
        DBclass.KategoriDBTO KategoriBul(string kategoriId);
      
        [OperationContract]
        void KategoriEkle(DBclass.KategoriDBTO obj);

        [OperationContract]
        void KategoriGuncelle(DBclass.KategoriDBTO obj);

        [OperationContract]
        void KategoriSil(string KategoriId, string bilimturuID);

//////////////////////////////////////////////////////////////////////////////////////////////////
//BilimDali

        [OperationContract]
        List<DBclass.BilimTuruDBTO> BilimTuruListele();
     
        [OperationContract]
        DBclass.BilimTuruDBTO BilimTuruBul(string bilimTuruId);
        
        [OperationContract]
        void BilimTuruEkle(DBclass.BilimTuruDBTO obj);

        [OperationContract]
        void BilimTuruGuncelle(DBclass.BilimTuruDBTO obj);

        [OperationContract]
        void BilimTuruSil(string bilimDaliId);

 //////////////////////////////////////////////////////////////////////////////////////////////////
//Kullanici

        [OperationContract]
        void KullaniciEkle(DBclass.KullaniciDBTO obj);

        [OperationContract]
        void KullaniciGuncelle(DBclass.KullaniciDBTO obj);

        [OperationContract]
        void KullaniciAtama(DBclass.KullaniciDBTO obj,string sistemdekiRolu);

        [OperationContract]
        void KullaniciSil(string KullaniciId,string sistemdekiRolu);

        [OperationContract]
        List<DBclass.KullaniciDBTO> KullaniciListele();
        
        [OperationContract]
        List<DBclass.HakemDBTO> HakemListele();

        [OperationContract]
        List<DBclass.YazarDBTO> YazarListele();

        [OperationContract]
        DBclass.KullaniciDBTO KullaniciBul(string kullaniciId);

//////////////////////////////////////////////////////////////////////////////////////////////////
//Anket
        [OperationContract]
        void AnketEkle(DBclass.AnketDBTO obj);

        [OperationContract]
        void AnketGuncelle(DBclass.AnketDBTO obj);

        [OperationContract]
        void AnketSil(string AnketId);

        [OperationContract]
        List<DBclass.AnketDBTO> AnketListele();

        [OperationContract]
        DBclass.AnketDBTO AnketBul(string anketId);

//////////////////////////////////////////////////////////////////////////////////////////////////








    }
}
